In computer operations, power efficiency efforts have led to the creation of increasing numbers of power domains in electronic devices. To minimize power usage, the goal in operation is for each power domain to be reduced to a lower power state, such as a standby state, at any time the domain is inactive to reduce the overall power consumption.
In particular, in order for a driver to configure and initiate workloads to graphics, a driver is required to program registers that are located in various power domains. However, any of such power domains may be in a reduced power state at the time of a request, and thus will need to be powered up for operation.
As a result, in conventional operation for graphics configuration the driver code is required to comprehend which registers belong to each power domain to ensure the proper domain is awake prior to programming. A register is then generally programmed and polled to determine when the power domain is powered up prior to programming the destination, which may delay subsequent requests. Further, if an incorrect power domain is specified for a particular register, a program hang or other unwanted result may result from the graphics configuration process if the correct power domain is not powered during programming.